<?php
require_once(SERVER_ROOT . '/utils/' . 'MYSQLAdapter.php');

class EscritorioDAO {
	private $adapter;

	public function __construct(){
		$this->adapter = new MYSQLAdapter($GLOBALS['config']);
	}
	public function findEscritorioByCodes($cod_gerente,$cod_escritorio){
		$this->adapter->select("tb_escritorio ","cod_escritorio = '$cod_escritorio' AND cod_gerente = '$cod_gerente'");
		$row = $this->adapter->fetch();
		return $row;
	}
	public function count() {
		$this->adapter->select("tb_escritorio");
		return $this->adapter->getAffectedRows();
	}

	public function findById($id_escritorio){
		$this->adapter->select("tb_escritorio","id_escritorio = '$id_escritorio'");
		return $this->adapter->fetch();
	}

	public function findByIdGerente($id_gerente){
		$this->adapter->select("tb_escritorio","id_gerente = '$id_gerente'");
		return $this->adapter->fetch();
	}

	public function findAll($sidx, $sord, $start, $limit) {
		$this->adapter->select("tb_escritorio", "1=1
				ORDER BY $sidx $sord LIMIT $start, $limit");
		return $this->adapter->fetchAllByFilter('Escritorio', array(''));
	}

	public function findAllByUsuario($id_usuario){
		$this->adapter->select("tb_usuario", "id_usuario = '$id_usuario'");
		$usuario = $this->adapter->fetch();
		$id_escritorio = $usuario['id_escritorio'];
		$this->adapter->select("tb_escritorio", "id_escritorio = '$id_escritorio'");
		return $this->adapter->fetch();

	}
	public function findAllWithFilters($sidx, $sord, $start, $limit, $search_field, $search_string, $search_oper) {
		if ($search_oper == 'eq') {
			$this->adapter->select("tb_escritorio", "$search_field = '$search_string'
					ORDER BY $sidx $sord LIMIT $start, $limit");
			return $this->adapter->fetchAllByFilter('Escritorio', array(''));
		} else {
			$this->adapter->select("tb_escritorio", "$search_field like '%$search_string%'
					ORDER BY $sidx $sord LIMIT $start, $limit");
			return $this->adapter->fetchAllByFilter('Escritorio', array(''));
		}
	}
	public function findEscritorioByCode($code){
		$this->adapter->select("tb_escritorio ","cod_escritorio = '$code'");
		$row = $this->adapter->fetch();
		return $row;
	}
	public function findMaxCodeEscritorio(){
		$query = "SELECT MAX(cod_escritorio) as cod_escritorio FROM tb_escritorio";
		$this->adapter->query($query);
		$row = $this->adapter->fetch();
		return $row;
	}
	public function findMaxCodeGerente(){
		$query = "SELECT MAX(cod_gerente) as cod_gerente FROM tb_escritorio";
		$this->adapter->query($query);
		$row = $this->adapter->fetch();
		return $row;
	}
	public function update(array $escritorio) {
		$id = $escritorio['id_escritorio'];
		$data = array('nome' => $escritorio['nome']);
		return $this->adapter->update("tb_escritorio", $data, "id_escritorio = '$id'");
	}
}
